﻿//题目描述
//小红有一个数组，她每次可以选择数组的一个元素x ，将这个元素分成两个元素a 和𝑏b ，使得a + b = x。
//请问小红最少需要操作多少次才可以使得数组的所有元素都相等。
//输入描述 :
//第一行输入一个整数n(1≤n≤10^5) 表示数组长度。
//第二行输入n 个整数表示数组a(1≤ai≤10^9) 。
//输出描述 :
//输出一个整数表示答案。
//示例1
//输入
//复制
//2
//2 4
//输出
//复制
//1
//说明
//操作1次，将4分成2和2，数组变成[2, 2, 2]。
//这个问题可以发现就是求出数组里面所有数的最大公约数
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int gcd(int a, int b) {
	return b ==0 ? a : gcd(b, a % b);
}
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int n;
	cin >> n;
	vector<int>a(n);
	int m = 0;
	for (int i = 0; i < n; i++) {
		cin >> a[i];
		m = gcd(a[i], m);
	}
	ll sum = 0;
	for (int i = 0; i < n; i++) {
		sum += a[i] / m - 1;//分成最大公约数的次数
	}
	cout << sum << "\n";
	return 0;
}